package com.huilian.iotbox.data.common;

/**
 * @author 少凡
 * @date 2020/3/6 8:52
 */
public interface RedisKey {
    //项目文件夹名
    String PROJECT_NAME = "SL_IOTBOX:";

    String PERMISSION_USERID_V2 = PROJECT_NAME + "PERMISSION1:%s:USERID:%s";

    String ADMIN_USERINFO = PROJECT_NAME + "ADMIN_USERINFO:%s";

    String WAP_USERINFO = PROJECT_NAME + "WAP_USERINFO:%s";

    String POS_USERINFO = PROJECT_NAME + "POS_USERINFO:%s";

    String REGISTER_SMSCODE = PROJECT_NAME + "_REGISTER_SMSCODE_";

    String RESET_SMS_CODE = PROJECT_NAME + "_RESET_SMS_CODE_";

    String FORGET_PASSWORD = PROJECT_NAME + "_FORGET_PASSWORD_";

    String ORDER_REFUND_ = PROJECT_NAME + "ORDER_REFUND_";

    String ACTIVITY_ORDER_REFUND_ = PROJECT_NAME + "ACTIVITY_ORDER_REFUND_";

    String DAIFU_SMSCODE_ = PROJECT_NAME + "DAIFU_SMSCODE_";

    /**
     * 法定节假日
     */
    String HOLIDAY_ = PROJECT_NAME + "HOLIDAY_";

    String RECEIPT_TYPE = PROJECT_NAME + "RECEIPT_TYPE:%s:";

    /**
     * 系统配置
     */
    String SYSTEM_CONFIG = PROJECT_NAME + "SYSTEM_CONFIG";

    String DEVICE_FLAG = PROJECT_NAME + "DEVICE:FLAG:%s";

    /**
     * 测试投币累计次数
     */
    String DEBUG_CONSUME_SUM = PROJECT_NAME + "DEVICE:DEBUG_CONSUME_SUM:%s";

    String MERCHANT_STORE = PROJECT_NAME + "MERCHANT_STORE:%s:";

    String UNBIND_SUM = PROJECT_NAME + "DEVICE:%s:UNBIND_SUM:";

    /**
     * 单个产品信息
     */
    String PRODUCT_INFO = PROJECT_NAME + "PRODUCT:%s:";

    /**
     * 单个产品信息
     */
    String BAUD_INFO = PROJECT_NAME + "BAUD:";

    /**
     * 重发次数
     */
    String UP_TIMES = PROJECT_NAME + "CONSUME_RECORD_ID:";

    /**
     * 等待支付申请结果次数
     */
    String WAIT_APPLY_RESULT = PROJECT_NAME + "CONSUME_RECORD_ID:%s:WAIT_APPLY";
    /**
     * 等待出币结果次数
     */
    String WAIT_OUT_COIN_RESULT = PROJECT_NAME + "CONSUME_RECORD_ID:%s:WAIT_APPLY";
    /**
     * 喊泉/滑轨关闭重发次数
     */
    String RAILS_OR_SHOUT_TIMES = PROJECT_NAME + "RAILS_OR_SHOUT:";
    /**
     * 机器是否上分中
     */
    String UPPING = PROJECT_NAME + "UPPING:";

    /**
     * 扭蛋机、超级兑币机支付申请查询
     */
    String PAY_QUERY = PROJECT_NAME + "CONSUME_RECORD_ID:%s:PAY_QUERY";
    /**
     * 扭蛋机、超级兑币机云上分
     */
    String CLOUD_COIN = PROJECT_NAME + "CLOUD_COIN:";


    /**
     * 结算失败缓存
     */
    String STMT_PAY_FAIL_BASE = PROJECT_NAME + "STMT_PAY_FAIL";
    String STMT_PAY_FAIL = STMT_PAY_FAIL_BASE + "STMT_PAY_FAIL:MERCHANT_ID:%s:STMT_RESULT_ID:%s";

    /**
     * 某台机器的终端主动上传账目自增码
     */
    String ACTIVELY_UPLOAD_ACCOUNTS_CODE = PROJECT_NAME + "DEVICE:%s:ACTIVELY_UPLOAD_ACCOUNTS_CODE:";

    /**
     * 某台机器的终端主动上传账目自增码，最近一段时间内的记录
     */
    String ACTIVELY_UPLOAD_ACCOUNTS_CODE_RECORD = PROJECT_NAME + "DEVICE:%s:ACTIVELY_UPLOAD_ACCOUNTS_CODE_RECORD:H:%s";
    /**
     * 某台机器某个仓位的出礼总总账目，最近一段时间内的记录
     */
    String GIFT_GENERAL_ACCOUNTS = PROJECT_NAME + "DEVICE:%s:GIFT_GENERAL_ACCOUNTS:H:%s";
    /**
     * 某台机器某仓位的终端主动上传投币账目自增码，最近一段时间内的记录
     */
    String UPLOAD_COIN_RECORD = PROJECT_NAME + "DEVICE:%s:UPLOAD_COIN_RECORD:H:%s";
    /**
     * 某台机器某仓位的终端主动上传出礼账目自增码，最近一段时间内的记录
     */
    String UPLOAD_GTIN_RECORD = PROJECT_NAME + "DEVICE:%s:UPLOAD_GTIN_RECORD:H:%s";

    /**
     * 网卡到期时间  1未到期，还可以继续使用， 2已到期，不能支付也不能投币
     */
    String NET_CARD_EXPIRATION_STATUS_ = PROJECT_NAME + "NET_CARD_EXPIRATION_STATUS_";

    /**
     * 要充值的设备网卡到期时间
     */
    String RECHARAE_NET_CARD_EXPIRATION_STATUS_ = PROJECT_NAME + "RECHARAE_NET_CARD_EXPIRATION_STATUS_";

    /**
     * 外部设备使用的lyy协议新旧，1：旧协议
     */
    String AGREEMENT_VERSION_OLD = PROJECT_NAME + "DEVICE:%s:AGREEMENT_VERSION_OLD:";

    /**
     * 脉冲退礼
     */
    String PULSE_RETURN_GIFT = PROJECT_NAME + "DEVICE:%s:PULSE_RETURN_GIFT:";

    /**
     * 东之宇扭蛋机-补货标识
     */
    String REPLENISHMENT_FLAG = PROJECT_NAME + "DEVICE:%s:REPLENISHMENT_FLAG:";

    /**
     * 订单
     */
    String ORDER_ID = PROJECT_NAME + "ORDER:%s:CHANGE_TYPE:%s:";

    /**
     * 兑换商城首页统计，例如：IOTBOX:USER:39:MERCHANT_ID:5215:STATS_ORDER_EXCHANGE:ADMIN:DATE_RANGE:2022-04-01-2022-04-07:
     */
    String STATS_ORDER_EXCHANGE = PROJECT_NAME + "USER:%s:MERCHANT_ID:%s:STATS_ORDER_EXCHANGE:%s:DATE_RANGE:%s:";

    /**
     * 美团团购api ip限流
     */
    String MEITUAN_TUANGOU_RECEIPT_API_XIANLIU_IP = PROJECT_NAME + "DEVICE:%s:MEITUAN:TUANGOU:RECEIPT:CONSUME:IP:%s:";

    String MQTT_MESSAGE_NUMBER2 = PROJECT_NAME + "DEVICE:%s:MQTT_MESSAGE:CMD:%s:ID";
    String MQTT_MESSAGE_NUMBER = MQTT_MESSAGE_NUMBER2 + ":%s";
    /**
     * mqtt消息ID绑定webSocketID
     */
    String MQTT_MESSAGE_BIND_SOCKET_ID = PROJECT_NAME + "DEVICE:%s:MQTT_MESSAGE:%s";

    /**
     * mqtt消息ID绑定webSocketID
     */
    String MQTT_MOTOR_TESTING_SOCKET_ID = PROJECT_NAME + "DEVICE_NO:%s:MQTT_MESSAGE:HIERARCHY:%s:FREIGHT_LANE:%s";

    /**
     * 裂分到子集
     */
    String MQTT_MESSAGE_NUMBER_level3 = MQTT_MESSAGE_NUMBER + ":%s:";

    /**
     * 临时储存运营商注册信息
     */
    String WAP_USER_TEMPORARY_WX_INFO = PROJECT_NAME + "USER:%s:";


    /**
     * 运营端微信小程序登录的session_key，临时key
     */
    String APPLET_WAP_TEMPORARY_SESSION_KEY = PROJECT_NAME + "WAP:APPLET:TEMPORARY:%s:SESSION_KEY:";

    /**
     * 运营端微信小程序登录的session_key，根据userId存的key
     */
    String APPLET_WAP_PERPETUAL_SESSION_KEY = PROJECT_NAME + "WAP:APPLET:PERPETUAL:%s:SESSION_KEY:";

    /**
     * 会员每天已输入错误取币密码次数
     */
    String MEMBER_THE_NUMBER_OF_INCORRECT_PASSWORDS_ENTERED = PROJECT_NAME + "MEMBER:%s:THE_NUMBER_OF_INCORRECT_PASSWORDS_ENTERED:";

    /**
     * 每次消费游戏币默认优先扣除有有效期，记录使用的投币记录id
     */
    String TERM_OF_VALIDITY_COIN = PROJECT_NAME + "TERM_OF_VALIDITY_COIN:TYPE:%s:CONSUME_RECORD_ID:";

    /**
     * 超级兑币机-会员登录码接口幂等
     */
    String MEMBER_AUTH_BEFORE_API_IDEMPOTENT = PROJECT_NAME + "DEVICE:%s:MEMBER_AUTH_BEFORE_API_IDEMPOTENT:";

    /**
     * FTP图片上传未及时将文件名持久化到数据库过期处理
     */
    String FTP_IMAGE_DATE_PROCESSING = PROJECT_NAME + "FTP:IMAGE:%s:";

    /**
     * 未提交的商户信息
     */
    String UNCOMMITTED_MERCHANT_INFO = PROJECT_NAME + "UNCOMMITTED_MERCHANT_INFO:%s";

    /**
     * 未提交的商户信息
     */
    String UNCOMMITTED_SUBACCOUNT_MERCHANT_INFO = PROJECT_NAME + "UNCOMMITTED_SUBACCOUNT_MERCHANT_INFO:%s";

    String BAIDU_TOKEN = PROJECT_NAME + "BAIDU_TOKEN:";

    /**
     * 抖音小程序accessToken
     */
    String DOU_YIN_APPLET_ACCESS_TOKEN = PROJECT_NAME + "DOU_YIN_APPLET:ACCESS_TOKEN:";
    /**
     * 抖音小程序生活服务accessToken
     */
    String DOU_YIN_APPLET_LIFE_ACCESS_TOKEN = PROJECT_NAME + "DOU_YIN_APPLET_LIFE:ACCESS_TOKEN:";
    /**
     * 授权微信公众号的token缓存
     */
    String CHANNEL_TOKEN = PROJECT_NAME + "CHANNEL_TOKEN:";

    String WEI_XIN_WAP_APPLET_ACCESS_TOKEN = PROJECT_NAME + "WEI_XIN_APPLET:WAP_ACCESS_TOKEN:%s:";

    String WEI_XIN_CLIENT_APPLET_ACCESS_TOKEN = PROJECT_NAME + "WEI_XIN_APPLET:CLIENT_ACCESS_TOKEN:%s:";

    /**
     * 用户支付限额拦截缓存
     */
    String MEMBER_RISK_KEY = PROJECT_NAME + "MEMBER_RISK:MEMBER:OPEN_ID_%s:MERCHANT_STORE_ID_:%s_%s";

    /**
     * 门店限额拦截缓存
     */
    String MEMBER_RISK_MERCHANT_STORE_KEY = PROJECT_NAME + "MEMBER_RISK:MERCHANT_STORE:MERCHANT_STORE_ID_%s:%s_%s";

    /**
     * 查询设备基础参数
     */
    String DEVICE_QUERY_PARAM = PROJECT_NAME + "DEVICE:QUERY_PARAM:%s:";

    String DEVICE_SEND_QUERY_PARAM = PROJECT_NAME + "DEVICE:SEND_QUERY_PARAM:%s";
    /**
     * 投币/出币类账目上报
     */
    String REPORTING_OF_ACCOUNT_DETAIL = PROJECT_NAME + "REPORTING_OF_ACCOUNT:%s:COIN:%s:CONSUME_RECORD_ID:%s";

    String NEW_REGISTER_MEMBER = PROJECT_NAME + "NEW_REGISTER_MEMBER:";

    /**
     * 会员码
     */
    String MEMBER_QR = PROJECT_NAME + "MEMBER_QR:%s";

    /**
     * 会员码刷新时间
     */
    String MEMBERSHIP_CODE_REFRESH = PROJECT_NAME + "MEMBERSHIP_CODE_REFRESH:%s:%s";

    /**
     * 红包
     */
    String RED_PACKET = PROJECT_NAME + "RED_PACKET:%s";

    /**
     * 设备连接的服务商
     */
    String DEVICE_SERVICE_PROVIDER = PROJECT_NAME + "DEVICE:%s:SERVICE_PROVIDER:";

    /**
     * 商家分享红包
     */
    String SHARE_RED_PACKET = PROJECT_NAME + "SHARE_RED_PACKET:%s";

    /**
     * 兑币机防止同时购买
     */
    String PREVENT_SIMULTANEOUS_PAYMENT = PROJECT_NAME + "PREVENT_SIMULTANEOUS_PAYMENT:DEVICE:%s";
    String PREVENT_SIMULTANEOUS_PAYMENT_DETAIL = PROJECT_NAME + "PREVENT_SIMULTANEOUS_PAYMENT:DEVICE:%s:MEMBER:%s";

    /**
     * 售货机防止同时购买
     */
    String LIMITATION_SIMULTANEOUS_PAYMENT_VENDING_MACHINE = PROJECT_NAME + "LIMITATION_SIMULTANEOUS_PAYMENT_VENDING_MACHINE:DEVICE:%s";
    String PREVENT_SIMULTANEOUS_PAYMENT_VENDING_MACHINE = PROJECT_NAME + "PREVENT_SIMULTANEOUS_PAYMENT_VENDING_MACHINE:DEVICE:%s";
    String PREVENT_SIMULTANEOUS_PAYMENT_DETAIL_VENDING_MACHINE = PROJECT_NAME + "PREVENT_SIMULTANEOUS_PAYMENT_VENDING_MACHINE:DEVICE:%s:MEMBER:%s";

    String DEVICE_APP_FILE_LIST = PROJECT_NAME + "DEVICE_APP_FILE_LIST:DEVICE:";
    String REMOTE_WRITE_DEVICENO = PROJECT_NAME + "REMOTE_WRITE_DEVICENO:DEVICE:";

    /**
     * 条形码支付，
     */
    String REVERSE_SCAN_PAY_QR = PROJECT_NAME + "REVERSE_SCAN_PAY_QR:%s";
    /**
     * 抖音回调处理失败重试次数
     */
    String DOUYIN_RETRY_CALLBACK_FAIL = PROJECT_NAME + "DOUYIN_RETRY_CALLBACK_FAIL:%s";
    /**
     * 兑币机账目，金额、游戏币分开上报时金额做标记
     */
    String DUIBI_ACCOUNT_WAITING_PROCESS = PROJECT_NAME + "DEVICE:%s:DUIBI_ACCOUNT_WAITING_PROCESS";

    /**
     * 过滤好集乐主板心跳降低流量消耗
     */
    String HJL_CONTROL_PANEL_HEAD = PROJECT_NAME + "DEVICE:%s:HJL_CONTROL_PANEL_HEAD";

    /**
     * 批量设置参数间隔时间
     */
    String BATCH_PARAM_SET_WAIT = PROJECT_NAME + "USER:%s:BATCH_PARAM_SET_WAIT";

    /**
     * 单个设备查询参数，防抖
     */
    String ONE_QUERY_DEVICE_PARAM_VALUE = PROJECT_NAME + "DEVICE:%s:ONE_QUERY_DEVICE_PARAM_VALUE";


    /**
     * 记录当前哪个会员占用着这台设备
     */
    String MEMBER_OCCUPY_DEVICE = PROJECT_NAME + "DEVICE:%s:MEMBER_OCCUPY_DEVICE";

    /**
     * 按摩垫的剩余时间
     */
    String MASSAGE_REMAINING_TIME = PROJECT_NAME + "DEVICE:%s:MEMBER:%s:MASSAGE_REMAINING_TIME";

    /**
     * 电机测试刷新时间
     */
    String MOTOR_TEST_REFRESH_TIME = PROJECT_NAME + "DEVICE:%s:REFRESH_TIME";


    /**
     * 超级兑币机出币前查询主板状态失败重试次数
     */
    String QUERY_MAIN_BOARDTE_STATE_RETRY = PROJECT_NAME + "DEVICE:%s:QUERY_MAIN_BOARDTE_STATE_RETRY:%s";
    /**
     * 超级兑币机出币重试次数
     */
    String OUT_COIN_RETRY = PROJECT_NAME + "DEVICE:%s:OUT_COIN_RETRY:%s";
    /**
     * 超级兑币机已发送出币指令
     */
    String DUIBI_OUT_COIN = PROJECT_NAME + "DEVICE:%s:CONSUME_RECORD_ID:%s:OUT_COIN:%s";

    /**
     * 防止协议频繁发送
     */
    String VENDING_MACHINE_PROCESSING_STATUS = PROJECT_NAME + "DEVICE:%s:VENDING_MACHINE_PROCESSING_STATUS:%s";

    /**
     * 防止格子机重新出货发太多mq
     */
    String VENDING_MACHINE_RE_STATUS = PROJECT_NAME + "DEVICE:%s:VENDING_MACHINE_RE_STATUS:%s";

    /**
     * 格子机电机测试缓存
     */
    String VENDING_MACHINE_TEST_WAP = PROJECT_NAME + "VENDING_MACHINE_TEST_WAP:%s";

    /**
     * 格子机电机测试缓存
     */
    String VENDING_MACHINE_TEST_CLIENT = PROJECT_NAME + "VENDING_MACHINE_TEST_CLIENT:%s";

    /**
     * 标识需要检查基础参数是否不一致
     */
    String BASE_PARAMS_UPDATE_FLAG = PROJECT_NAME + "BASE_PARAMS_UPDATE_FLAG:%s";

    String ORDER_SKU_DEDUCTCOMMISSION_V2 = PROJECT_NAME + "ORDER_SKU_DEDUCTCOMMISSION_V2:LEDGER_ORDER_TYPE:%s:%s";

    /**
     * 公用、专属小程序或公众号
     */
    String APPLET_OR_OFFICIAL_ACCOUNT = PROJECT_NAME + "APPLET_OR_OFFICIAL_ACCOUNT:%s";


    /**
     * 设备离线发送通知间隔
     */
    String NOTICE_RESTRICTIONS = PROJECT_NAME + "NOTICE_RESTRICTIONS:USER:%s:DEVICE_NO:%s:TYPE:%s";

    /**
     * 扭蛋机主动上传状态，保存仓位信息
     */
    String EGG_INIT_INFO = PROJECT_NAME + "DEVICE:%s:FREIGHT_SPACE";

    /**
     * H5登录时根据openid记录用的是哪套记录登录的，获取用户信息（snsapi_userinfo）时也要用这套
     */
    String OPENID_GET_APPID = PROJECT_NAME + "OPEN_ID:%s";

    String LOW_BATTERY_RECORD = PROJECT_NAME + "LOW_BATTERY:DEVICE_NO:%s";
    /**
     * 首页显示流量卡过期
     */
    String HOME_USERID = PROJECT_NAME + "HOME_USERID:%s";
    /**
     * 蓝牙格子机订单重新出货
     */
    String BLUETOOTH_RE_SHIPPING = PROJECT_NAME + "DEVICE_NO:%s:OUT_TRADE_NO:%s";
    /**
     * 会员信息
     */
    String MEMBER_INFO = PROJECT_NAME + "MEMBER_INFO:%s";
    /**
     * 某台机器，某个仓位的故障码
     */
    String DEVICE_FAULT_CODE_H = PROJECT_NAME + "DEVICE:%s:FAULT:H:%s";
    /**
     * 某台机器故障码
     */
    String DEVICE_FAULT_CODE = PROJECT_NAME + "DEVICE:%s:FAULT";

    /**
     * 拍照机状态查询重发次数
     */
    String CAMERA_STATUS_QUERY_TIMES = PROJECT_NAME + "CAMERA_STATUS_QUERY_TIMES:";

    /**
     * 拍照机启动重发次数
     */
    String CAMERA_START_QUERY_TIMES = PROJECT_NAME + "CAMERA_START_QUERY_TIMES:";
    /**
     * 存币存币已处理
     */
    String DEPOSIT_COINS_AND_BILLS = PROJECT_NAME + "DEPOSIT_COINS_AND_BILLS:%s";

    /**
     * 按摩床状态查询重发次数
     */
    String MASSAGE_STATUS_QUERY_TIMES = PROJECT_NAME + "MASSAGE_STATUS_QUERY_TIMES:";

    /**
     * 按摩床启动重发次数
     */
    String MASSAGE_START_QUERY_TIMES = PROJECT_NAME + "MASSAGE_START_QUERY_TIMES:";

    /**
     * 按摩床记录支付码，用于切换模式
     */
    String MASSAGE_START_QUERY_DEVICE_NO = PROJECT_NAME + "MASSAGE_START_QUERY_DEVICE_NO:";
    /**
     * 按摩床记录免费体验
     */
    String MASSAGE_START_QUERY_DEVICE_EXPERIENCE = PROJECT_NAME + "MASSAGE_START_QUERY_DEVICE_EXPERIENCE:";

    /**
     * 根据上级节点ID查出菜单、下级菜单
     */
    String PERMISSION_SECOND_STAGE_LIST = PROJECT_NAME + "PERMISSION_SECOND_STAGE_LIST:%s:%s";

    /**
     * 根据上级节点ID查出菜单、下级API
     */
    String PERMISSION_CHILD_API_LIST = PROJECT_NAME + "PERMISSION_CHILD_API_LIST:%s:%s";

    /**
     * 临时
     */
    String PERMISSION_TEMP = PROJECT_NAME + "PERMISSION_TEMP:%s";


    /**
     * 系统收款商户
     */
    String SYSTEM_MERCHANT_LIST = PROJECT_NAME + "SYSTEM_MERCHANT_LIST";


}
